Перейти к основному содержимому

5.12. Знаки препинания

Разработчику Архитектору

Знаки препинания

Два важных вопроса, которые мучают начинающих программистов:

  1. Когда использовать кавычки двойные ("), одинарные ('), а когда апострофы ()?
  2. Когда использовать точки (.), запятые (,) и точку с запятой (;)?

Двойные (") — интерполируемые строки (можно вставлять переменные):

def name = "John"
println "Hello, $name" // Hello, John

Одинарные ('') — строка как есть (без интерполяции):

def name = 'John'
println 'Hello, $name' // Hello, $name

Апострофы () — не используются в синтаксисе. Только '. Точка (.) для доступа к методам и свойствам:

def list = [1, 2, 3]
println list.size()

Запятая (,) для разделения элементов в списке, параметрах функций:

def add(a, b) { a + b }
println add(2, 3)

Точка с запятой (;) для разделения нескольких инструкций на одной строке:

def x = 5; def y = 10; println(x + y)

Но это не обязательно , и редко используется в реальном коде.

Нижние подчеркивания в Groovy очень похожи на Java и Kotlin.

_name - стиль, но не обязателен. _ используется в числах как разделитель - 1_000_000. А также _ используется для «отброса» в циклах:

(1..5).each { _ -> println "Hello" }

Символы «|» и «||», как и в Java:

| — это побитовое ИЛИ (bitwise OR).

К примеру, метод(значениеА | значениеБ);

В условиях это логическое ИЛИ, но без сокращённого вычисления.

if (методА() | методБ()) - вызовет и методА, и методБ, даже если методА - true.

if (a() | b()) { ... } // оба вызовутся

|| - логическое ИЛИ (с сокращённым вычислением), можно назвать исключающим. допустим return a || b - если a true, то b не вернется/не вычислится.

if (a() || b()) { ... } // b() — только если a() == false